Analysis of Computing Policies Using SAT Solvers
نویسندگان
چکیده
A computing policy is a sequence of rules, where each rule consists of a predicate and a decision, and where each decision is either “accept” or “reject”. A policy P is said to accept (or reject, respectively) a request if and only if the decision of the first rule in P , that matches the request is “accept” (or “reject”, respectively). Examples of computing policies are firewalls, routing policies and software-defined networks in the Internet, and access control policies. It has been shown earlier that the problems of determining whether a given policy satisfies a property, such as adequacy, completeness, implication, equivalence, and redundancy, are all NP-hard. In this paper, we present efficient algorithms that use SAT solvers to determine whether any given policy satisfies a property. Experimental results show that our algorithms can determine whether a given policy with 90K rules satisfies the adequacy or completeness property in about 3 minutes. They also show that our algorithms can determine whether a given policy with 90K rules satisfies the implication, equivalence, or redundancy property in about 1 hour.
منابع مشابه
Analysis of Computing Policies Using SAT Solvers (Short Paper)
A computing policy is a sequence of rules, where each rule consists of a predicate and a decision, and where each decision is either “accept” or “reject”. A policy P is said to accept (or reject, respectively) a request iif the decision of the first rule in P , that matches the request is “accept” (or “reject”, respectively). Examples of computing policies are firewalls, routing policies and so...
متن کاملInstance-Based Selection of Policies for SAT Solvers
Execution of most of the modern DPLL-based SAT solvers is guided by a number of heuristics. Decisions made during the search process are usually driven by some fixed heuristic policies. Despite the outstanding progress in SAT solving in recent years, there is still an appealing lack of techniques for selecting policies appropriate for solving specific input formulae. In this paper we present a ...
متن کاملSAT-based Termination Analysis for Java Bytecode with AProVE
SAT solvers are nowadays the standard solving engines for the search problems in automated termination analysis. Consequently, the performance of current termination tools heavily relies on the speed of modern SAT solvers on the corresponding SAT encodings. If a model for the SAT instance at hand is found, it can be used to instantiate the parameters for the current proof step to advance the te...
متن کاملBenchmarking SAT Solvers for Bounded Model Checking
Modern SAT solvers are highly dependent on heuristics. Therefore, benchmarking is of prime importance in evaluating the performances of different solvers. However, relevant benchmarking is not necessarily straightforward. We present our experiments using the IBM CNF Benchmark on several SAT solvers. Using the results, we attempt to define guidelines for a relevant benchmarking methodology, usin...
متن کاملSAT Instances for Termination Analysis with AProVE
Recently, SAT solving has become the backbone for tackling the search problems in automated termination analysis for term rewrite systems and for programming languages. Indeed, even since the last SAT competition in 2007, many new termination techniques have been published where automation heavily relies on the efficiency of modern SAT solvers. Here, a successful satisfiability proof of the SAT...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016